package com.home.webapp.base.mapper;

import com.home.common.model.TreeNode;
import com.home.webapp.base.entity.BasePermsAuth;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;


/**
 * Description: 权限下发 mapper
 * Created by 王大宸 on 2020-10-05 23:28:38
 * Created with IntelliJ IDEA
 */
public interface BasePermsAuthMapper extends Mapper<BasePermsAuth> {

    /***
     * 功能说明：获取用户授权菜单
     *
     * @author 王大宸
     * @date 2020/10/7 17:57
     * @param userId 用户id
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     */
    List<TreeNode> getPermsAuth(String userId);

    /***
     * 功能说明：获取用户应用
     *
     * @author 王大宸
     * @date 2020/10/7 17:58
     * @param userId 用户id
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     */
    List<TreeNode> getPermsAuthApp(String userId);

    /***
     * 功能说明：获取菜单树
     *
     * @author 王大宸
     * @date 2020/10/8 15:40
     * @param
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     */
    List<TreeNode> getMenuTree();

    /***
     * 功能说明：获取应用树
     *
     * @author 王大宸
     * @date 2020/10/8 15:40
     * @param
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     */
    List<TreeNode> getAppTree();

    void batchSave(List<BasePermsAuth> list);

    /***
     * 功能说明：根据用户id,查询用户也授权菜单id
     *
     * @author 王大宸
     * @date 2020/10/8 15:41
     * @param userId  用户id
     * @return java.util.List<java.lang.String>
     */
    List<String> getMenuByUserId(String userId);

}
